Systems employing numerous devices often require or otherwise benefit from the ability for these devices to communicate with one another. While each device may have its own purpose and responsibilities, they may need to transmit information to, and/or receive information from, other devices of the system. Device-to-device communication may be accomplished by wiring the devices together, and communicating via the wires. Systems today are continually moving towards wireless communication, which generally makes installation more convenient, and among other things provides greater flexibility and scalability.
A drawback to wireless communication is that information transfer is not confined to a wire, as in a direct wired system. Rather, the information is transmitted over the air, and transmissions from neighboring systems can interfere with system communications. To address this issue, wireless network systems have employed various methods of transmitting radio signals, such as frequency hopping. Frequency hopping generally refers to a modulation technique where the signal carrier is rapidly switched among many frequency channels. Each party to the communication must know the frequency hopping sequence in order to know when it is to transmit at a certain frequency in the sequence. Using the frequency hopping sequence, transmitting devices can properly address targeted devices, and receiving devices can reject information from neighboring devices that are not within their system but within their reception range.
When using frequency hopping, two or more communicating devices will typically communicate properly when the transmitting and receiving devices are operating at the same communication frequency at the same time. By synchronizing the timing of their frequency hopping sequence, two or more devices can determine the time and duration of the window or “time slot” in which communications can be effected at a given one of the frequencies. This is manageable where both the sending and receiving devices know that data may be communicated during any of these time slots. There are, however, situations where a device may anticipate an incoming message, but it is unknown when that message may arrive. In frequency hopping systems where numerous frequencies are used, the device anticipating receipt of the message could simply synchronously monitor every frequency in the hope that the anticipated message will arrive at some time on one of the frequencies. This, however, requires significant local resources at the receiving device to continuously monitor for the anticipated incoming message(s).
For example, limiting device power consumption may be an important consideration in a system, particularly where one or more of the devices are battery powered. Engaging in continuous monitoring for certain anticipated incoming messages with little or no knowledge of their expected arrival time may result wasted energy resources, thereby unnecessarily depleting the life of the device's battery. Solutions to such a problem are further complicated where frequency hopping is employed, as current devices anticipating an asynchronous incoming message have little recourse but to sequentially monitor each of the communication frequencies of the frequency hopping sequence until the anticipated message arrives. The problem is further exacerbated if an initial message that prompts a response is corrupted, if the response is corrupted, if message/response acknowledgements are not properly communicated, etc. In such cases, a device anticipating a response message may potentially have to leave its receiving circuitry turned on for a longer time, or even an infinitely long time. These and other situations further deplete local resources, such as the longevity of the device's battery.
Accordingly, there is a need in the communications industry for an improved manner of managing message transactions for devices employing frequency hopping. The present invention fulfills these and other needs, and offers other advantages over the prior art.